﻿using STT.Admin;
using STT.Layer.Connection;
using STT.Business;
using STT.Entities;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using System.Drawing;

namespace STT.Profile.UserControlsGV
{
    public partial class UcQuanLyDiem : System.Web.UI.UserControl
    {
        ToolBox tb=new ToolBox();
        private  static string TrangThai;
        protected void Page_Load(object sender, EventArgs e)
        {
            if (!IsPostBack)
            {
                LoadDDLLophoc();
                LoadDSMonHocLop();
            }
        }
        protected void gvDiemHV_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            GvDiemHV.PageIndex = e.NewPageIndex;
            LoadDSHV();
        }
        protected void gvDSMonHoc_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {

        }
        private void LoadDDLLophoc()
        {
            Methods.LopHocByMaGV(ref ddlLopHoc, Session["Magv"].ToString());
        }
        private void LoadDSMonHocLop()
        {
           try {
                gvDSMonHoc.DataSource = tb.GetDataTableById2("TbTKB_SelectByMaGV",Session["MaGV"].ToString());
                gvDSMonHoc.DataBind();
            }
            catch { }
        }
        private void LoadDSHV()
        {
          
            DataTable dt = BTbTKB.TbTKB_SelectByMaGVMaMHMaLop(Session["MaGV"].ToString(),ddlLopHoc.SelectedValue.ToString(),ddlMH.SelectedValue.ToString());  
            if (dt.Rows.Count > 0)
            {
                GvDiemHV.DataSource = dt;
                GvDiemHV.DataBind();
                pn_dsHV.Visible = true;
                pn_dscacmon.Visible = false;
                pn_DSDiemHV.Visible = false;
                lbltb.Text = "Danh sách điểm của học viên";
                lblmonhoc.Text = dt.Rows[0]["TenMonHoc"].ToString();
                lbltenlop.Text = dt.Rows[0]["TenLop"].ToString();
                DataTable dt2 = BTbBangDiem.SelectTrangThaiByMaGVMaMHMaLop(Session["MaGV"].ToString(), ddlLopHoc.SelectedValue.ToString(), ddlMH.SelectedValue.ToString());
                if (ddlloaidiem.SelectedValue.ToString() == "1")
                {
                        if (int.Parse((dt2.Rows[0]["TrangThai"].ToString())) == 2)
                        {
                            btnGuiDiem.Enabled = false;
                            btnluudiem.Enabled = false;
                            //lblthongbao.Text = "Môn học này bạn đã gửi lên phòng đạo tạo..";
                            lblthongbao.Text = "Điểm chuyên cần của môn này bạn đã gửi lên phòng đạo tạo..";
                        }
                        else
                        {
                            btnGuiDiem.Enabled = true;
                            btnluudiem.Enabled = true;
                            lblthongbao.Text = "Chú ý : Điểm học viên nhập vào chỉ nằm trong khoảng từ 0 tới 10";
                            //txtdiemtl2.Enabled = false;
                        }
                }
                else if (ddlloaidiem.SelectedValue.ToString() == "2")
                {
                  
                    if (int.Parse((dt2.Rows[0]["TrangThai"].ToString())) == 4)
                    {
                        btnGuiDiem.Enabled = false;
                        btnluudiem.Enabled = false;
                        //lblthongbao.Text = "Môn học này bạn đã gửi lên phòng đạo tạo..";
                        lblthongbao.Text = "Điểm kiểm tra của môn này bạn đã gửi lên phòng đạo tạo..";
                    }
                    else
                    {
                        btnGuiDiem.Enabled = true;
                        btnluudiem.Enabled = true;
                        lblthongbao.Text = "Chú ý : Điểm học viên nhập vào chỉ nằm trong khoảng từ 0 tới 10";
                        //txtdiemtl2.Enabled = false;
                    }
                }
                else if (ddlloaidiem.SelectedValue.ToString() == "3")
                {  
                    if (int.Parse((dt2.Rows[0]["TrangThai"].ToString())) == 6)
                    {
                        btnGuiDiem.Enabled = false;
                        btnluudiem.Enabled = false;
                        //lblthongbao.Text = "Môn học này bạn đã gửi lên phòng đạo tạo..";
                        lblthongbao.Text = "Điểm thi của môn này bạn đã gửi lên phòng đạo tạo..";
                    }
                    else
                    {
                        btnGuiDiem.Enabled = true;
                        btnluudiem.Enabled = true;
                        lblthongbao.Text = "Chú ý : Điểm học viên nhập vào chỉ nằm trong khoảng từ 0 tới 10";
                        //txtdiemtl2.Enabled = false;
                    }
                }
            }
            else
            {
                lbltb.Text = "Danh sách điểm của học viên";
                pn_DSDiemHV.Visible = false;
                pn_dsHV.Visible = false;
            }
        }
        void ThongBao(string Loi)
        {
            ScriptManager.RegisterClientScriptBlock(this, GetType(), "Thông báo!", "<script>alert('" + Loi + "')</script>", false);
        }
        protected void ddlLopHoc_SelectedIndexChanged(object sender, EventArgs e)
        {
            try
            {
                if (ddlLopHoc.SelectedItem.ToString() == "---------Chọn---------")
                {
                    ThongBao("Bạn hãy chọn lớp học...!");

                }
                else
                {
                    Methods.MonHocByMaLopMaGV(ref ddlMH, ddlLopHoc.SelectedValue.ToString(), Session["Magv"].ToString());
                }
            }
            catch (Exception ex)
            {
                Response.Write("");
            }
        }

        protected void btnthemdiem_Click(object sender, EventArgs e)
        {
            //try
            //{
                if (ddlLopHoc.SelectedItem.ToString() == "---------Chọn---------" ||
                    ddlMH.SelectedItem.ToString() == "---------Chọn---------" ||
                    ddlloaidiem.SelectedValue.ToString() == "0")
                {
                    ThongBao("Chưa chọn lớp học hoặc môn học hoặc loại điểm...!");
                }
                else
                {
                    LoadDSHV();
                }
            //}
            //catch { }
        }
        protected void GvDiemHV_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            //try
            //{
                {
                    TextBox txtdiemcc = (TextBox)e.Row.FindControl("txtdiemcc");
                    TextBox txtdiemkt = (TextBox)e.Row.FindControl("txtdiemkt");
                    TextBox txtdiemtl1 = (TextBox)e.Row.FindControl("txtDiemTL1");
                    //TextBox txtdiemtl2 = (TextBox)e.Row.FindControl("txtDiemTL2");
                    if (ddlloaidiem.SelectedValue.ToString() == "1")
                    {
                        DataTable dt = BTbBangDiem.SelectTrangThaiByMaGVMaMHMaLop(Session["MaGV"].ToString(), ddlLopHoc.SelectedValue.ToString(), ddlMH.SelectedValue.ToString());
                        if (e.Row.RowType == DataControlRowType.DataRow)
                        if (int.Parse((dt.Rows[0]["TrangThai"].ToString()))==2)
                        {
                            txtdiemcc.Enabled = false;
                            txtdiemkt.Enabled = false;
                            txtdiemtl1.Enabled = false;
                            btnGuiDiem.Enabled = false;
                            btnluudiem.Enabled = false;
                            //lblthongbao.Text = "Môn học này bạn đã gửi lên phòng đạo tạo..";
                            lblthongbao.Text = "Điểm chuyên cần của môn này bạn đã gửi lên phòng đạo tạo..";
                        }
                        else {
                            txtdiemcc.Enabled = true;
                            txtdiemkt.Enabled = false;
                            txtdiemtl1.Enabled = false;
                            btnGuiDiem.Enabled = true;
                            btnluudiem.Enabled = true;
                            lblthongbao.Text = "Chú ý : Điểm học viên nhập vào chỉ nằm trong khoảng từ 0 tới 10";
                            //txtdiemtl2.Enabled = false;
                        }
                    }
                    else if (ddlloaidiem.SelectedValue.ToString() == "2")
                    {
                        DataTable dt2 = BTbBangDiem.SelectTrangThaiByMaGVMaMHMaLop(Session["MaGV"].ToString(), ddlLopHoc.SelectedValue.ToString(), ddlMH.SelectedValue.ToString());
                        if (e.Row.RowType == DataControlRowType.DataRow)
                        {
                            if (dt2.Rows[0]["TrangThai"].ToString() == "4")
                            {
                                txtdiemcc.Enabled = false;
                                txtdiemkt.Enabled = false;
                                txtdiemtl1.Enabled = false;
                                btnGuiDiem.Enabled = false;
                                btnluudiem.Enabled = false;
                                //lblthongbao.Text = "Môn học này bạn đã gửi lên phòng đạo tạo..";
                                lblthongbao.Text = "Điểm kiểm tra của môn này bạn đã gửi lên phòng đạo tạo..";
                            }
                            else
                            {
                                txtdiemcc.Enabled = false;
                                txtdiemkt.Enabled = true;
                                txtdiemtl1.Enabled = false;
                                btnGuiDiem.Enabled = true;
                                btnluudiem.Enabled = true;
                                lblthongbao.Text = "Chú ý : Điểm học viên nhập vào chỉ nằm trong khoảng từ 0 tới 10";
                                //txtdiemtl2.Enabled = false;}
                            }
                        }
                    }
                    else if (ddlloaidiem.SelectedValue.ToString() == "3")
                    {
                        DataTable dt3 = BTbBangDiem.SelectTrangThaiByMaGVMaMHMaLop(Session["MaGV"].ToString(), ddlLopHoc.SelectedValue.ToString(), ddlMH.SelectedValue.ToString());
                        if (e.Row.RowType == DataControlRowType.DataRow)
                        {
                            if (dt3.Rows[0]["TrangThai"].ToString() == "6")
                            {
                                txtdiemcc.Enabled = false;
                                txtdiemkt.Enabled = false;
                                txtdiemtl1.Enabled = false;
                                btnGuiDiem.Enabled = false;
                                btnluudiem.Enabled = false;
                                lblthongbao.Text = "Môn học này bạn đã gửi lên phòng đạo tạo..";
                            }
                            else
                            {
                                txtdiemcc.Enabled = false;
                                txtdiemkt.Enabled = false;
                                txtdiemtl1.Enabled = true;
                                btnGuiDiem.Enabled = true;
                                btnluudiem.Enabled = true;
                                lblthongbao.Text = "Chú ý : Điểm học viên nhập vào chỉ nằm trong khoảng từ 0 tới 10";
                                //txtdiemtl2.Enabled = false;
                            }
                        }
                    }
                    //else if (ddlloaidiem.SelectedValue.ToString() == "4")
                    //{
                    //    txtdiemcc.Enabled = false;
                    //    txtdiemkt.Enabled = false;
                    //    txtdiemtl1.Enabled = false;
                    //    txtdiemtl2.Enabled = true;
                    //}
                }
            //}
            //catch { 
            //}
        }

        protected void btnluudiem_Click(object sender, EventArgs e)
        {
            //try
            //{
                foreach (GridViewRow row in GvDiemHV.Rows)
                {
                    if (ddlloaidiem.SelectedValue.ToString() == "1")
                    {
                        TextBox txtdiemcc = (TextBox)row.FindControl("txtdiemcc");
                        Label MaMH = row.FindControl("lblMamh") as Label;
                        string Mahv = GvDiemHV.DataKeys[row.RowIndex].Value.ToString();
                        ETbBangDiem bd = new ETbBangDiem();
                        if (txtdiemcc.Text != string.Empty && double.Parse(txtdiemcc.Text) >= 0 && double.Parse(txtdiemcc.Text) <= 10)
                        {
                            bd.DiemChuyenCan = double.Parse(txtdiemcc.Text);
                            bd.MaHV = Mahv;
                            bd.MaMonHoc = int.Parse(MaMH.Text);
                            BTbBangDiem.UpdateDiemCC(bd,"1");
                            LoadDSHV();
                            ThongBao("Đã lưu thành công..!");
                        }
                        else
                        {
                            bd.MaHV = Mahv;
                            bd.MaMonHoc = int.Parse(MaMH.Text);
                            BTbBangDiem.UpdateDiemCC2(bd, "1");
                            LoadDSHV();
                            ThongBao("Đã lưu thành công..!");
                            //ThongBao("Bạn chưa nhập đủ điểm cho học viên..!");
                        }
                       
                    }
                    else if (ddlloaidiem.SelectedValue.ToString() == "2")
                    {
                        TextBox txtdiemkt = (TextBox)row.FindControl("txtdiemkt");
                        Label MaMH = row.FindControl("lblMamh") as Label;
                        string Mahv = GvDiemHV.DataKeys[row.RowIndex].Value.ToString();
                        ETbBangDiem bd = new ETbBangDiem();
                        if (txtdiemkt.Text != string.Empty && double.Parse(txtdiemkt.Text) >= 0 && double.Parse(txtdiemkt.Text) <= 10)
                        {
                            bd.DiemKT = double.Parse(txtdiemkt.Text);
                            bd.MaHV = Mahv;
                            bd.MaMonHoc = int.Parse(MaMH.Text);
                            BTbBangDiem.UpdateDiemKT(bd, "3");
                            LoadDSHV();
                            ThongBao("Đã lưu thành công..!");
                        }
                        else
                        {
                            bd.MaHV = Mahv;
                            bd.MaMonHoc = int.Parse(MaMH.Text);
                            BTbBangDiem.UpdateDiemKT2(bd, "3");
                            LoadDSHV();
                            ThongBao("Đã lưu thành công..!");
                        }
                      
                    }
                    else if (ddlloaidiem.SelectedValue.ToString() == "3")
                    {
                        TextBox txtdiemtl1 = (TextBox)row.FindControl("txtDiemTL1");
                        Label MaMH = row.FindControl("lblMamh") as Label;
                        string Mahv = GvDiemHV.DataKeys[row.RowIndex].Value.ToString();
                        ETbBangDiem bd = new ETbBangDiem();
                        if (txtdiemtl1.Text != string.Empty && double.Parse(txtdiemtl1.Text) >= 0 && double.Parse(txtdiemtl1.Text) <= 10)
                        {
                            bd.DiemTL1 = double.Parse(txtdiemtl1.Text);
                            bd.MaHV = Mahv;
                            bd.MaMonHoc = int.Parse(MaMH.Text);
                            BTbBangDiem.UpdateDiemThiL1(bd, "5");
                            LoadDSHV();
                            ThongBao("Đã lưu thành công..!");
                        }
                        else
                        {
                            //bd.DiemTL1 = 0;
                            bd.MaHV = Mahv;
                            bd.MaMonHoc = int.Parse(MaMH.Text);
                            BTbBangDiem.UpdateDiemThiL12(bd, "5");
                            LoadDSHV();
                            ThongBao("Đã lưu thành công..!");
                        }

                    }
                    //else if (ddlloaidiem.SelectedValue.ToString() == "4")
                    //{
                    //    TextBox txtdiemtl2 = (TextBox)row.FindControl("txtDiemTL2");
                    //    Label MaMH = row.FindControl("lblMamh") as Label;
                    //    string Mahv = GvDiemHV.DataKeys[row.RowIndex].Value.ToString();
                    //    ETbBangDiem bd = new ETbBangDiem();
                    //    if (txtdiemtl2.Text != string.Empty && double.Parse(txtdiemtl2.Text) >= 0 && double.Parse(txtdiemtl2.Text) <= 10)
                    //    {
                    //        bd.DiemTL2 = double.Parse(txtdiemtl2.Text);
                    //        bd.MaHV = Mahv;
                    //        bd.MaMonHoc = int.Parse(MaMH.Text);
                    //    }
                    //    else
                    //    {
                    //        bd.DiemTL2 = 0;
                    //        bd.MaHV = Mahv;
                    //        bd.MaMonHoc = int.Parse(MaMH.Text);
                    //    }
                    //    BTbBangDiem.UpdateDiemThiL2(bd);
                    //    LoadDSHV();
                    //    ThongBao("Đã lưu thành công..!");
                    //}
                }
            //}
            //catch { }
        }
        protected void btnGuiDiem_Click(object sender, EventArgs e)
        {
            try
            {
                 if (ddlloaidiem.SelectedValue.ToString() == "1")
                 {
                    foreach (GridViewRow row in GvDiemHV.Rows)
                    {
                   
                            string Mahv = GvDiemHV.DataKeys[row.RowIndex].Value.ToString();
                            Label MaMH = row.FindControl("lblMamh") as Label;
                            BTbBangDiem.UpdateTrangThaiDiem(new ETbBangDiem { MaHV = Mahv, MaMonHoc = int.Parse(MaMH.Text)
                            ,TrangThai=2});
                            TextBox txtdiemcc = (TextBox)row.FindControl("txtdiemcc");
                            TextBox txtdiemkt = (TextBox)row.FindControl("txtdiemkt");
                            TextBox txtdiemtl1 = (TextBox)row.FindControl("txtDiemTL1");
                            txtdiemcc.Enabled = false;
                            txtdiemkt.Enabled = false;
                            txtdiemtl1.Enabled = false;
                            btnGuiDiem.Enabled = false;
                            btnluudiem.Enabled = false;
                   
                    }
                    lblthongbao.Text = "Môn học này bạn đã gửi lên phòng đạo tạo..";
                    ThongBao("Đã gửi thành công..!");
                 }
                 else if (ddlloaidiem.SelectedValue.ToString() == "2")
                 {
                     foreach (GridViewRow row in GvDiemHV.Rows)
                     {

                         string Mahv = GvDiemHV.DataKeys[row.RowIndex].Value.ToString();
                         Label MaMH = row.FindControl("lblMamh") as Label;
                         BTbBangDiem.UpdateTrangThaiDiem(new ETbBangDiem
                         {
                             MaHV = Mahv,
                             MaMonHoc = int.Parse(MaMH.Text)
                             ,
                             TrangThai = 4
                         });
                         TextBox txtdiemcc = (TextBox)row.FindControl("txtdiemcc");
                         TextBox txtdiemkt = (TextBox)row.FindControl("txtdiemkt");
                         TextBox txtdiemtl1 = (TextBox)row.FindControl("txtDiemTL1");
                         txtdiemcc.Enabled = false;
                         txtdiemkt.Enabled = false;
                         txtdiemtl1.Enabled = false;
                         btnGuiDiem.Enabled = false;
                         btnluudiem.Enabled = false;
                     }
                     lblthongbao.Text = "Môn học này bạn đã gửi lên phòng đạo tạo..";
                     ThongBao("Đã gửi thành công..!");

                 }
                 else if (ddlloaidiem.SelectedValue.ToString() == "3")
                 {
                     foreach (GridViewRow row in GvDiemHV.Rows)
                     {

                         string Mahv = GvDiemHV.DataKeys[row.RowIndex].Value.ToString();
                         Label MaMH = row.FindControl("lblMamh") as Label;
                         BTbBangDiem.UpdateTrangThaiDiem(new ETbBangDiem
                         {
                             MaHV = Mahv,
                             MaMonHoc = int.Parse(MaMH.Text)
                             ,
                             TrangThai = 6
                         });
                         TextBox txtdiemcc = (TextBox)row.FindControl("txtdiemcc");
                         TextBox txtdiemkt = (TextBox)row.FindControl("txtdiemkt");
                         TextBox txtdiemtl1 = (TextBox)row.FindControl("txtDiemTL1");
                         txtdiemcc.Enabled = false;
                         txtdiemkt.Enabled = false;
                         txtdiemtl1.Enabled = false;
                         btnGuiDiem.Enabled = false;
                         btnluudiem.Enabled = false;

                     }
                     lblthongbao.Text = "Môn học này bạn đã gửi lên phòng đạo tạo..";
                     ThongBao("Đã gửi thành công..!");
                 }
            }
            catch { }
        }
        protected void btntemh_Click(object sender, EventArgs e)
        {
            try
            {
                LinkButton lbt = sender as LinkButton;
                foreach (GridViewRow row in gvDSMonHoc.Rows)
                {
                    string Mamh = gvDSMonHoc.DataKeys[row.RowIndex].Value.ToString();
                    LinkButton lbtmh = row.FindControl("btntemh") as LinkButton;
                    Control ctrl = row.FindControl("btntemh") as LinkButton;
                    Label lblmalop = ((Label)row.FindControl("lblmalop"));
                    Label lbltenlop = ((Label)row.FindControl("lbltenlop"));
                    if (ctrl != null)
                    {
                        LinkButton lbt1 = (LinkButton)ctrl;
                        if (lbt.ClientID == lbt1.ClientID)
                        {
                            pn_DSDiemHV.Visible=true;
                            pn_dsHV.Visible = false;
                            DataTable dt = BTbTKB.TbTKB_SelectByMaGVMaMHMaLop(Session["MaGV"].ToString(), lblmalop.Text, Mamh);
                            lblmonhoc2.Text = lbtmh.Text;
                            lbltenlop2.Text = lbltenlop.Text;
                            gv_dsDiemHV.DataSource = dt;
                            gv_dsDiemHV.DataBind();
                        }
                    }
                }
            }
            catch { }
        }
        protected void btnluutam_Click(object sender, EventArgs e)
        {

        }

        protected void btnquaylai_Click(object sender, EventArgs e)
        {

        }

        protected void lbtnDsMH_Click(object sender, EventArgs e)
        {

            pn_DSDiemHV.Visible = false;
            pn_dscacmon.Visible = true;
            pn_dsHV.Visible = false;
           
        }
        //protected void btnexport_Click(object sender, EventArgs e)
        //{
        //    try
        //    {
        //        Button lbt = sender as Button;
        //        foreach (GridViewRow row in gvDSMonHoc.Rows)
        //        {
        //            string Mamh = gvDSMonHoc.DataKeys[row.RowIndex].Value.ToString();
        //            Button lbtmh = row.FindControl("btnexport") as Button;
        //            Control ctrl = row.FindControl("btnexport") as Button;
        //            Label lblmalop = ((Label)row.FindControl("lblmalop"));
        //            Label lbltenlop = ((Label)row.FindControl("lbltenlop"));
        //            if (ctrl != null)
        //            {
        //                Button lbt1 = (Button)ctrl;
        //                if (lbt.ClientID == lbt1.ClientID)
        //                {
        //                    DataTable dt = BTbTKB.TbTKB_SelectByMaGVMaMHMaLopExport(Session["MaGV"].ToString(),lblmalop.Text, Mamh);
        //                    Export1(dt, "Danh sach", "DANH SÁCH ĐIỂM HỌC VIÊN" +"\n "+ "LỚP : " + lbltenlop.Text);
        //                }
        //            }
        //        }
        //    }
        //    catch { }
        //}
    }
}